#ifndef __TCP_H__
#define __TCP_H__

// 导入头文件
#include "head.h"
#include "netinet/in.h"

// 定义结构体
typedef struct TCP_socket
{
    int sok_fd;
    int acc_fd;
}TCP_socket;

// 文件应答结构体
typedef struct file_data
{
    int SYN;            // 请求连接 / 发送数据
    int num;            // 文件数量 / 序号 
    char buff[1024];    // 文件名 / 数据
}file_data;


// 声明函数

/*
int TCP_Init_server( in_port_t port , const char * s_addr);
功能:
    用于 IP 4 的TCP 服务器建立
参数:
    port 端口号
    s_addr ip地址
返回值:
    成功 返回 TCP 套接字 的结构体
    失败 返回 -1
*/
TCP_socket TCP_Init_server( in_port_t port , const char * s_addr);

/*
int TCP_Init_client( in_port_t port , const char * s_addr);
功能:
    用于 IP 4 的TCP 客户端立
参数:
    port 端口号
    s_addr ip地址
返回值:
    成功 返回 TCP 套接字 的 文件描述符
    失败 返回 -1
*/
int TCP_Init_client( in_port_t port , const char * s_addr);

/*
void TCP_close_server(TCP_socket  * TCP_server_soc , int * TCP_Client_soc);
功能:
    用于 IP 4 的TCP 套接字销毁
参数:
    TCP_server_soc 套接字结构体 服务器用
    TCP_client_soc 套接字 描述符 客户端用
返回值: 
    一定会成功
*/
void TCP_close_server(TCP_socket  * TCP_server_soc , int * TCP_client_soc);


#endif // __TCP_H__
